我发现 jpa 在自己创建一个中间表的时候,很多注解都失效了。
比如无法自己设置一个主键,这个还好理解,使用联合主键。
但是 @CreatedDate 这个注解也失效是为什么呢?该怎么解决呢
附上代码:
/* 课程的学生中间表 */
@Table(name = "t_course_student")
@Entity
@IdClass(CourseStudentKey.class)
@EntityListeners(AuditingEntityListener.class)
public class CourseStudent {
/* 创建时间 */
@Column(name = "created_at")
@CreatedDate
private Long createdTime;
...
}
失效指的是无法在插入数据的时候自动带上时间了,created_at 这个字段为空。
1
vansl OP 我发现 jpa 会自动忽略自己定义的字段,那么这种自定义中间表是不是只能另写 sql 语句或者数据库函数操作了。
|
2
wdlth 2018-07-22 18:49:45 +08:00
是不是少了 @EnableJpaAuditing
|