- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Hibernate 建立一对一关系。我已尝试按照其他问题的建议进行操作,但仍然遇到问题。
我有一个 Company 类,它有自己的一套仓库规则。每个实体都有一个 BusinessUnitNumber 作为表的 Id。
@Entity(name="COBUSMST")
public class Company implements Serializable{
private static final long serialVersionUID = 2573441991172174342L;
private Integer businessUnit;
private String longName;
private String shortName;
private String address1;
private String address2;
private String city;
private String state;
private String zipCode;
private String returnAddress1;
private String returnAddress2;
private String returnCity;
private String returnState;
private String returnZipCode;
private int phoneNumber;
private int areaCode;
private boolean replacementCharge;
private BigDecimal replacementChargeAmount;
private String customerServiceKeycode;
private BigDecimal restockPercent;
private Integer enterpriseId;
private String country;
private String returnCountry;
private int phoneExtension;
private String phoneType;
private String giftCardItemNumber;
private boolean implementationStatus;
private int defaultWebsiteId;
private BigDecimal callTagFee;
@OneToOne
@JoinColumn(name="BUSUNTNBR")
private WarehouseRules warehouseRules;
/**
* @return the businessUnit
*/
@Id
@Column(name="BUSUNTNBR")
public Integer getBusinessUnit() {
return businessUnit;
}
/**
* @param businessUnit the businessUnit to set
*/
public void setBusinessUnit(Integer businessUnit) {
this.businessUnit = businessUnit;
}
/**
* @return the longName
*/
@Column(name="LNGNAM")
public String getLongName() {
return longName;
}
/**
* @param longName the longName to set
*/
public void setLongName(String longName) {
this.longName = longName;
}
/**
* @return the shortName
*/
@Column(name="SRTNAM")
public String getShortName() {
return shortName;
}
/**
* @param shortName the shortName to set
*/
public void setShortName(String shortName) {
this.shortName = shortName;
}
/**
* @return the address1
*/
@Column(name="ADR1")
public String getAddress1() {
return address1;
}
/**
* @param address1 the address1 to set
*/
public void setAddress1(String address1) {
this.address1 = address1;
}
/**
* @return the address2
*/
@Column(name="ADR2")
public String getAddress2() {
return address2;
}
/**
* @param address2 the address2 to set
*/
public void setAddress2(String address2) {
this.address2 = address2;
}
/**
* @return the city
*/
@Column(name="CTY")
public String getCity() {
return city;
}
/**
* @param city the city to set
*/
public void setCity(String city) {
this.city = city;
}
/**
* @return the state
*/
@Column(name="STA")
public String getState() {
return state;
}
/**
* @param state the state to set
*/
public void setState(String state) {
this.state = state;
}
/**
* @return the zipCode
*/
@Column(name="PSTCOD")
public String getZipCode() {
return zipCode;
}
/**
* @param zipCode the zipCode to set
*/
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
/**
* @return the returnAddress1
*/
@Column(name="RTNADR1")
public String getReturnAddress1() {
return returnAddress1;
}
/**
* @param returnAddress1 the returnAddress1 to set
*/
public void setReturnAddress1(String returnAddress1) {
this.returnAddress1 = returnAddress1;
}
/**
* @return the returnAddress2
*/
@Column(name="RTNADR2")
public String getReturnAddress2() {
return returnAddress2;
}
/**
* @param returnAddress2 the returnAddress2 to set
*/
public void setReturnAddress2(String returnAddress2) {
this.returnAddress2 = returnAddress2;
}
/**
* @return the returnCity
*/
@Column(name="RTNCTY")
public String getReturnCity() {
return returnCity;
}
/**
* @param returnCity the returnCity to set
*/
public void setReturnCity(String returnCity) {
this.returnCity = returnCity;
}
/**
* @return the returnState
*/
@Column(name="RTNSTA")
public String getReturnState() {
return returnState;
}
/**
* @param returnState the returnState to set
*/
public void setReturnState(String returnState) {
this.returnState = returnState;
}
/**
* @return the returnZipCode
*/
@Column(name="RTNPSTCOD")
public String getReturnZipCode() {
return returnZipCode;
}
/**
* @param returnZipCode the returnZipCode to set
*/
public void setReturnZipCode(String returnZipCode) {
this.returnZipCode = returnZipCode;
}
/**
* @return the phoneNumber
*/
@Column(name="PHNNUM")
public int getPhoneNumber() {
return phoneNumber;
}
/**
* @param phoneNumber the phoneNumber to set
*/
public void setPhoneNumber(int phoneNumber) {
this.phoneNumber = phoneNumber;
}
/**
* @return the areaCode
*/
@Column(name="ARACOD")
public int getAreaCode() {
return areaCode;
}
/**
* @param areaCode the areaCode to set
*/
public void setAreaCode(int areaCode) {
this.areaCode = areaCode;
}
/**
* @return the replacementCharge
*/
@Column(name="RPLCHRFLG")
@Type(type="yes_no")
public boolean isReplacementCharge() {
return replacementCharge;
}
/**
* @param replacementCharge the replacementCharge to set
*/
public void setReplacementCharge(boolean replacementCharge) {
this.replacementCharge = replacementCharge;
}
/**
* @return the replacementChargeAmount
*/
@Column(name="RPLCHRAMT")
public BigDecimal getReplacementChargeAmount() {
return replacementChargeAmount;
}
/**
* @param replacementChargeAmount the replacementChargeAmount to set
*/
public void setReplacementChargeAmount(BigDecimal replacementChargeAmount) {
this.replacementChargeAmount = replacementChargeAmount;
}
/**
* @return the customerServiceKeycode
*/
@Column(name="CUSSVCKEY")
public String getCustomerServiceKeycode() {
return customerServiceKeycode;
}
/**
* @param customerServiceKeycode the customerServiceKeycode to set
*/
public void setCustomerServiceKeycode(String customerServiceKeycode) {
this.customerServiceKeycode = customerServiceKeycode;
}
/**
* @return the restockPercent
*/
@Column(name="RSKPCT")
public BigDecimal getRestockPercent() {
return restockPercent;
}
/**
* @param restockPercent the restockPercent to set
*/
public void setRestockPercent(BigDecimal restockPercent) {
this.restockPercent = restockPercent;
}
/**
* @return the enterpriseId
*/
@Column(name="ETRID")
public Integer getEnterpriseId() {
return enterpriseId;
}
/**
* @param enterpriseId the enterpriseId to set
*/
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
/**
* @return the country
*/
@Column(name="CRY")
public String getCountry() {
return country;
}
/**
* @param country the country to set
*/
public void setCountry(String country) {
this.country = country;
}
/**
* @return the returnCountry
*/
@Column(name="RTNCRY")
public String getReturnCountry() {
return returnCountry;
}
/**
* @param returnCountry the returnCountry to set
*/
public void setReturnCountry(String returnCountry) {
this.returnCountry = returnCountry;
}
/**
* @return the phoneExtension
*/
@Column(name="PHNEXT")
public int getPhoneExtension() {
return phoneExtension;
}
/**
* @param phoneExtension the phoneExtension to set
*/
public void setPhoneExtension(int phoneExtension) {
this.phoneExtension = phoneExtension;
}
/**
* @return the phoneType
*/
@Column(name="PHNTYPCLF")
public String getPhoneType() {
return phoneType;
}
/**
* @param phoneType the phoneType to set
*/
public void setPhoneType(String phoneType) {
this.phoneType = phoneType;
}
/**
* @return the giftCardItemNumber
*/
@Column(name="GFTCTFITM")
public String getGiftCardItemNumber() {
return giftCardItemNumber;
}
/**
* @param giftCardItemNumber the giftCardItemNumber to set
*/
public void setGiftCardItemNumber(String giftCardItemNumber) {
this.giftCardItemNumber = giftCardItemNumber;
}
/**
* @return the implementationStatus
*/
@Column(name="IMPSTSFLG")
@Type(type="yes_no")
public boolean isImplementationStatus() {
return implementationStatus;
}
/**
* @param implementationStatus the implementationStatus to set
*/
public void setImplementationStatus(boolean implementationStatus) {
this.implementationStatus = implementationStatus;
}
/**
* @return the defaultWebsiteId
*/
@Column(name="DFTWEBID")
public int getDefaultWebsiteId() {
return defaultWebsiteId;
}
/**
* @param defaultWebsiteId the defaultWebsiteId to set
*/
public void setDefaultWebsiteId(int defaultWebsiteId) {
this.defaultWebsiteId = defaultWebsiteId;
}
/**
* @return the callTagFee
*/
@Column(name="CTGFEEAMT")
public BigDecimal getCallTagFee() {
return callTagFee;
}
/**
* @param callTagFee the callTagFee to set
*/
public void setCallTagFee(BigDecimal callTagFee) {
this.callTagFee = callTagFee;
}
/**
* @return the warehouseRules
*/
public WarehouseRules getWarehouseRules() {
return warehouseRules;
}
/**
* @param warehouseRules the warehouseRules to set
*/
public void setWarehouseRules(WarehouseRules warehouseRules) {
this.warehouseRules = warehouseRules;
}
我的 WarehouseRules 类如下。
@Entity(name = "COBRLWHS")
public class WarehouseRules implements Serializable {
private static final long serialVersionUID = 1967521668154976367L;
@OneToOne(mappedBy="warehouseRules")
private Company company;
@Id
@Column(name = "BUSUNTNBR")
private Integer businessUnit;
@Column(name="ORDPTYCLF")
private String orderPriority;
@Column(name="WHSPPRCLF")
private String warehousePaperwork;
@Column(name="ENTCUTTIM")
private Time entryCutoffTime;
@Column(name = "RRLADLDAY")
private Integer ruralDays;
@Column(name = "SRRADLDAY")
private Integer superRuralDays;
@Column(name = "BOADLDAY")
private Integer backorderDays;
@Column(name = "DFTFRTTBL")
private String freightTable;
public void setId(Integer id) {
setBusinessUnit(id);
}
/**
* @return the businessUnit
*/
public Integer getBusinessUnit() {
return businessUnit;
}
/**
* @param businessUnit the businessUnit to set
*/
public void setBusinessUnit(Integer businessUnit) {
this.businessUnit = businessUnit;
}
/**
* @return the ruralDays
*/
public Integer getRuralDays() {
return ruralDays;
}
/**
* @param ruralDays the ruralDays to set
*/
public void setRuralDays(Integer ruralDays) {
this.ruralDays = ruralDays;
}
/**
* @return the superRuralDays
*/
public Integer getSuperRuralDays() {
return superRuralDays;
}
/**
* @param superRuralDays the superRuralDays to set
*/
public void setSuperRuralDays(Integer superRuralDays) {
this.superRuralDays = superRuralDays;
}
/**
* @return the backorderDays
*/
public Integer getBackorderDays() {
return backorderDays;
}
/**
* @param backorderDays the backorderDays to set
*/
public void setBackorderDays(Integer backorderDays) {
this.backorderDays = backorderDays;
}
/**
* @return the freightTable
*/
public String getFreightTable() {
return freightTable;
}
/**
* @param freightTable the freightTable to set
*/
public void setFreightTable(String freightTable) {
this.freightTable = freightTable;
}
/**
* @return the orderPriority
*/
public String getOrderPriority() {
return orderPriority;
}
/**
* @param orderPriority the orderPriority to set
*/
public void setOrderPriority(String orderPriority) {
this.orderPriority = orderPriority;
}
/**
* @return the warehousePaperwork
*/
public String getWarehousePaperwork() {
return warehousePaperwork;
}
/**
* @param warehousePaperwork the warehousePaperwork to set
*/
public void setWarehousePaperwork(String warehousePaperwork) {
this.warehousePaperwork = warehousePaperwork;
}
/**
* @return the entryCutoffTime
*/
public Time getEntryCutoffTime() {
return entryCutoffTime;
}
/**
* @param entryCutoffTime the entryCutoffTime to set
*/
public void setEntryCutoffTime(Time entryCutoffTime) {
this.entryCutoffTime = entryCutoffTime;
}
/**
* @return the company
*/
public Company getCompany() {
return company;
}
/**
* @param company the company to set
*/
public void setCompany(Company company) {
this.company = company;
}
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result
+ ((businessUnit == null) ? 0 : businessUnit.hashCode());
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!super.equals(obj))
return false;
if (getClass() != obj.getClass())
return false;
WarehouseRules other = (WarehouseRules) obj;
if (businessUnit == null) {
if (other.businessUnit != null)
return false;
} else if (!businessUnit.equals(other.businessUnit))
return false;
return true;
}
}
当我尝试运行代码时,出现以下异常:
org.hibernate.AnnotationException: Referenced property not a (One|Many)ToOne: com.oriental.comet.db2.company.entity.Company.warehouseRules in mappedBy of com.oriental.comet.db2.company.entity.WarehouseRules.company:org.hibernate.AnnotationException:Referenced property not a (One|Many)ToOne: com.oriental.comet.db2.company.entity.Company.warehouseRules in mappedBy of com.oriental.comet.db2.company.entity.WarehouseRules.company
at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:248)
at org.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1697)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1426)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857)
我唯一能想到的是两个表的 ID 具有相同的列名?但我无法改变这一点,所以我不知道是否有解决方法(如果确实如此)或者我是否遗漏了某些内容。
最佳答案
在Company
类中,您注释了一个FIELD (warehouseRules
),但该类中的所有其他人都使用PROPERTY。您应该使用“PROPERTY”或“FIELD”,但不能混合使用。如果您始终如一,您的 JPA 提供商也许会明白这一点?
显然,消息可以更清晰,强调您尚未注释 PROPERTY( setter/getter )。其他 JPA 提供程序不一定坚持使用 OneToOne/OneToMany 注释,因为从属性/字段类型可以清楚地看出它是一种关系。
关于java - org.hibernate.AnnotationException : Referenced property not a (One|Many)ToOne:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40008734/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!