这次做的TC组件用到原来完全不懂的技术。jpa是从来没听说过的,oracle也没有用过。这次的收获有顺利安装oracle,jpa的流程熟悉起来,包括如何配置 persistent.xml, orm.xml. 还有EntityManager,annotation的一些使用方法。具体技术见database中关于jpa的blog.一开始通过sun的tutorial学习了jpa相关的技术。
但不得不承认这次组件是一次失败的教训。后面三天弄得那么辛苦,最后id自动生成还是没有搞定。在liuliquan的帮助下,我能将继承关系的hello world跑起来了。但我始终不明白为什么一用我的entity就不行了呢?那个Holiday和hello world都几乎有一对一的关系了,可就是crud跑不起来。实际上对orm.xml的写法还是没有掌握。感觉自己收集资料的能力还是有限,jpa的技术也算是比较流行的,为什么我就找不到有用的参考资料呢?完全靠自己瞎猜是注定自己要失败的。下次遇到技术困难一定要多搜多问。不能自己猛干,效率不高还做不出来。
还有一个惨痛的教训就是ant test都过不了。到现在还不知道是因为什么原因所有的crud测试在eclipse里能正确运行,一跑ant test就报错。最后去改代码,改得面目全非了又胡乱生成了一个提交包匆忙提交了。里面必须的lib都没有加进去。反正是一片混乱。下次一定要吸取教训,不管做得怎么样,最后一天的最重要的事情就是严格按照div流程去把提交包生成提交。最后一天不要等没有解决的技术问题解决再考虑生成提交包,因为这样有可能在尝试解决技术问题时将以前的代码打乱了。之后时间匆忙又没时间将它改回来。所有无论如何,技术到最后一天没解决希望不大了,先将做好的提交。如果之后有时间提交后再慢慢来解决技术问题。
在哪里跌倒就在哪爬起来。这次已经尽力了,虽然失败但还是有收获。以后再好好做。要将自己有个正确的定位,毕竟不是大牛。在TC的收获已经不小了,无论从技术还是从报酬。感谢80x86对我的影响。
这次liuliquan给了我不少帮助,他都把entity和orm.xml文件给发给我了。真的很感谢!他跟我素不相识,却给了我这么大的帮助。自己也应该向人家学习,要乐于助人。
感谢TC给的学习机会。感谢80x86的影响。感谢其他tcer的帮助!
分享到:
相关推荐
JPA通过`EntityManager`和`EntityTransaction`接口与数据库交互,`@Entity`注解标记实体类,`@Table`指定对应数据库表,`@Id`定义主键,`@GeneratedValue`用于自动生成主键值。JPA支持多种数据类型转换,以及复杂的...
- **实体(Entity)**:这是JPA中代表数据库表的类。 - **实体管理器(EntityManager)**:它是JPA的核心接口,用于执行CRUD(创建、读取、更新、删除)操作。 - **持久化上下文(Persistence Context)**:它是一个...
例如,我们可以在类上使用@Component、@Service、@Repository和@Controller注解来声明它们作为Spring管理的bean。 Spring MVC中的注解驱动开发极大地简化了控制器的定义。通过在方法上使用@RequestMapping注解,...
@Component @Transactional public class DataEntityListener { @PrePersist public void prePersist(DataEntity object) throws IllegalArgumentException, IllegalAccessException { Timestamp now = ...
3. **定义实体类**:创建与数据库表对应的Java类,使用JPA注解如`@Entity`、`@Table`、`@Id`等。 4. **创建Repository接口**:利用Spring Data JPA的自动实现功能,创建继承自`JpaRepository`的接口,用于数据库的...
@Entity:此注解用于声明一个类是实体类,并且该类中的对象会被映射到数据库表。实体类通常需要使用@Table注解来指定具体的数据库表名称。当实体类的名称和数据库表名称相同时,@Table注解可以省略。 @Table(name=...
1. **引入 Spring 命名空间**:通过在 XML 配置文件中引入 `<context:component-scan>` 和 `<jpa:repositories>` 来扫描和配置 JPA 仓库。 - **示例**: ```xml <context:component-scan base-package=...
在这个项目中,使用了基于注解的JPA,如@Entity表示实体类,@Table定义实体对应的数据库表,@Id标记主键,@Column定义字段,@OneToMany和@ManyToOne描述一对多和多对一的关系等。通过这种方式,开发者可以快速地建立...
例如,`@Component`、`@Service`、`@Repository`和`@Controller`定义了不同类型的bean,`@Autowired`自动装配依赖,`@Transactional`开启事务管理,`@RequestMapping`处理HTTP请求映射等。通过使用注解,开发者可以...
总结,Spring 3.1.1与JPA2(Hibernate 4.0.0.Final)的整合涉及以下几个关键步骤: 1. 引入相关依赖 2. 配置Spring上下文(`applicationContext.xml`) 3. 创建DAO接口及实现,利用`@PersistenceContext`注入`...
ing 相关版本号 --> <spring.version>5.3.23</spring.version> <springmvc.version>5.3.23</springmvc.version> <springdata.jpa.version>2.7.0</springdata.jpa.version> <hibernate.version>5.6.10.Final...
总结来说,Spring Boot结合MySQL提供了强大的数据库操作能力。通过定义实体类和JpaRepository接口,我们可以实现动态的数据库生成。同时,利用`@PostConstruct`和`JdbcTemplate`,我们可以进一步定制化的执行数据库...
4 @Component 5 @Bean 6 @Configuration 三、 注入相关 1 @Resource 2 @Autowired 3 @Qualifier 4 @value 5 @ConfigurationProperties 四、 HTTP请求相关 1 @GetMapping 2 @PostMapping 3 @RequestMapping 五、 前后...
@Component public class DataSourceAspect { @Autowired private DataSource primaryDataSource; @Autowired private DataSource secondaryDataSource; @Before("@annotation...
JPA通过`@Entity`注解定义实体类,`@Table`定义对应数据库表,`@Id`标记主键字段。同时,`@Repository`注解用于创建DAO接口,SpringBoot会自动为其生成实现,提供CRUD操作。 此外,`@Service`和`@Controller`注解...
@Component相当于@Service,@Controller,@Repository,并将其纳入 Spring 容器中管理。@ConfigurationProperties 可以指定前缀内容。 事务控制 使用 @Transactional 注解可以保证多个数据库操作的原子性。在 ...
7. **@Entity**: 这是JPA(Java Persistence API)的一部分,用于标记一个Java类作为数据库中的实体。@Table注解则用于指定实体对应的数据库表名。 8. **@GeneratedValue**: 用于定义主键生成策略,例如序列、UUID...
- 配置`spring-boot-starter-data-jpa`依赖,通过`@Entity`、`@Table`等注解定义实体类,`@Repository`注解创建数据访问层接口。 6. **Junit 5测试** - Junit 5是Java单元测试的事实标准,提供了新的API和更灵活...
总结来说,jspxcms利用SpringMVC和Spring的IOC容器管理各种组件,结合JPA进行持久化操作,通过Shiro进行权限控制,利用QueryDSL提供更简洁的查询语句,同时利用Lucene实现全文搜索,提供了一套完整的CMS解决方案。...