나는 Spring에서 Hibernate annotation으로 ORM을 사용하려고 시도했지만, 관절을 만들고 싶을 때 실패했다.봄 + 최대 절전 모드 ORM annotation
내가 (자바 클래스에 따라) 두 개의 테이블이 있습니다
제품 (PK productId에, FK productGroup) ProductGroup (PK productGroupTri를)
Product.java
@Entity
@Table(name="product")
public class Product implements Serializable{
@Id
@Column(name="product_id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int productId;
@Column(name="product_name")
private String productName;
@OneToOne
@PrimaryKeyJoinColumn
private ProductGroup productGroup;
public void setProductId(int productId) {
this.productId = productId;
}
public int getProductId() {
return this.productId;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getproductName() {
return this.productName;
}
public void setProductGroup(ProductGroup productGroup) {
this.productGroup = productGroup;
}
public ProductGroup getProductGroup() {
return this.productGroup;
}
}
ProductGroup.java
@Entity
@Table(name="product_grp")
public class ProductGroup {
@Id
@Column(name="grp_tri")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private String productGroupTri;
@Column(name="grp_div")
private String productGroupDiv;
@OneToOne(mappedBy="productGroup", cascade=CascadeType.ALL)
private Product product;
public void setProductGroupTri(String productGroupTri) {
this.productGroupTri = productGroupTri;
}
public String getProductGroupTri() {
return this.productGroupTri;
}
public void setProductGroupDiv(String productGroupDiv) {
this.productGroupDiv = productGroupDiv;
}
public String getProductGroupDiv() {
return this.productGroupDiv;
}
public void setProduct(Product product) {
this.product = product;
}
public Product getProduct() {
return this.product;
}
}
그리고 HQL reque
org.hibernate.TypeMismatchException: Provided id of the wrong type. Expected: class java.lang.String, got class java.lang.Integer
나는 제품의 그룹 이름으로 접근하고 싶습니다 나는이 때문에 차의 종류의 이해 : 나는 다음과 같은 메시지가있어
String hql = "from Product as p where p.productId = :id";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setInteger("id", productId);
return (Product) query.uniqueResult();
을 : 실패 일 외래 키지만 포럼에서 검색을 했는데도 문제를 찾지 못했습니다.
@Entity
@Table(name="product_grp")
public class ProductGroup {
@Id
@Column(name="grp_tri")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int productGroupTri;
을 도와 요청할 수 있습니다 문자열이 생길 때까지 문제를 해결 하시겠습니까? – tvirgil
[documentation] (http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity-hibspec-identifier)가 도움이 될 수 있기를 바랍니다 – Atropo
주석은 정확하지 않은 것 같습니다. , ID 형식에 문제가 잘해야한다 ...하지만 감사합니다. – tvirgil