Hibernate 中的 idclass mapping 问题
程序员文章站
2022-05-15 20:31:37
关于出现 idclass mapping 运行错误 @IdClass 注释通常用于定义包含复合键id的Class。即多个属性的关键复合。 @IdClass(CountrylanguageEntityPK.class) 则CountrylanguageEntityPK如下所示: 使用注解 @IdCla ......
关于出现 idclass mapping 运行错误
@idclass
注释通常用于定义包含复合键id的class。即多个属性的关键复合。
@idclass(countrylanguageentitypk.class) 则countrylanguageentitypk如下所示:
package org.entity;
import javax.persistence.column;
import javax.persistence.id;
import java.io.serializable;
import java.util.objects;
public class countrylanguageentitypk implements serializable {
private string countrycode;
private string language;
@column(name = "countrycode", nullable = false, length = 3)
@id
public string getcountrycode() {
return countrycode;
}
public void setcountrycode(string countrycode) {
this.countrycode = countrycode;
}
@column(name = "language", nullable = false, length = 30)
@id
public string getlanguage() {
return language;
}
public void setlanguage(string language) {
this.language = language;
}
@override
public boolean equals(object o) {
if (this == o) return true;
if (o == null || getclass() != o.getclass()) return false;
countrylanguageentitypk that = (countrylanguageentitypk) o;
return objects.equals(countrycode, that.countrycode) &&
objects.equals(language, that.language);
}
@override
public int hashcode() {
return objects.hash(countrycode, language);
}
}
使用注解 @idclass 的entity类通常
应该具有以下属性:
- 实现serializable
-
一个构造函数,它接受id(即与之关联的字段
@id
) -
重写
equals
和hashcode
如果出现 idclass mapping 运行错误即可从以上三个三个方面查看问题原因所在,注:使用注解形式的同时如果编译器反向生成entity.hbm.xml 的同时 hibernate.cfg.xml会被添加这些hbm.xml 的 mapping resource 项
则也会出现 idclass mapping 的错误。
(<property name="connection.url">jdbc:mysql://localhost:3306/testdb?servertimezone=utc</property>)这项中想把usessl=false&servertimezone=utc&verifyservercertifate=false都添加进去怎么写?有知道的老铁请评论告知,在此感谢。
上一篇: 分布式Dubbo快速入门
推荐阅读