这个问题与Hibernate Annotation Placement Question有些相关.
但我想知道哪个更好?通过属性访问或通过字段访问?各有哪些优缺点?
使用JPA使实体成为只读的正确方法是什么?我希望我的数据库表永远不会以编程方式进行修改.
我想我明白我应该锁定我的对象LockModeType.READ.从数据库中检索后,是否可以使用注释使我的实体直接锁定?或者我是否必须乱用并覆盖我的特定实体的通用DAO?
我把hibernate注释放在哪里?
它是我的实例变量之上的行吗?或者在吸气器之前?或者在二传手之前?或者它真的不重要吗?
非常感谢
如何从字段级别带注释的表生成hibernate域类?我使用了Hibernate Tools项目并从数据库中的表中生成了域类.生成的类在getter方法上有注释,而不是在字段级别.请建议一种方法来生成具有注释字段的域类.在eclipse/IDEA等中是否有任何重构工具可以将注释从方法级别移动到字段级别?
感谢您的帮助和时间.
我正在使用 Hibernate 关系开发 spring 和 hibernate web 应用程序,它可以正常工作 3 次,并且可以毫无问题地从数据库中获取记录,但有 4 次应用程序挂起或冻结,当我重新启动 tomcat 服务器时,一切正常并挂起或尝试 4 次后再次冻结。当应用程序挂起或冻结时,没有任何错误让我如此困惑。当我测试另一个在 Hibernate 上不使用关系的类运行良好时,我怀疑是关系,但我不知道〜
这是我的 Hibernate 关系参考~
这是我的erd,
这是我的用户类别,
@SuppressWarnings("serial")
@Entity
@Table(name="user")
public class User implements Serializable{
private String no_dana;
private String npp;
@Id
@Column(name="no_dana", unique=true, nullable=false, updatable=false)
public String getNo_dana() {
return no_dana;
}
public void setNo_dana(String no_dana) {
this.no_dana = no_dana;
}
@Column(name="npp")
public String getNpp() {
return npp;
}
private Set<Tanya> tanya;
@OneToMany(fetch= FetchType.LAZY, cascade=CascadeType.ALL, mappedBy="user")
public Set<Tanya> getTanya() {
return …Run Code Online (Sandbox Code Playgroud) 我是Spring Boot和JPA的新手。我看过在字段声明上添加JPA注释的示例,例如:
@Entity
public class Fizz {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// other fields
public Fizz(Long id) {
super();
setId(id);
}
// setter defined here
public Long getId() {
return this.id;
}
}
Run Code Online (Sandbox Code Playgroud)
...以及在吸气剂上添加相同批注的示例,如下所示:
@Entity
public class Fizz {
private Long id;
// other fields
public Fizz(Long id) {
super();
setId(id);
}
// setter defined here
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId() {
return this.id;
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道它们在语义上是否等效,或者是否有不同的用例,您会选择其中一种。我问是因为我实际上是在Groovy中编写我的Spring Boot / JPA应用程序,而您通常不定义getter:
@Canonical
@Entity
class Fizz { …Run Code Online (Sandbox Code Playgroud)