Tengo un modelo de libro y de inventario asignado por número de ISBN, pero el ISBN no es la clave principal en ninguno. Los libros pertenecen a las librerías y el inventario es para un grupo de librerías (BookstoreChain). El inventario es compartido por todas las librerías que pertenecen a una BookstoreChain.ORM: Asignación de OneToOne en la columna Clave no primaria-Libro e inventario asignado por ISBN
Estoy usando la asignación Hibernate @OneToOne en el lado del libro para obtener información de inventario uniéndome a la columna ISBN. De alguna manera, Hibernate genera la consulta de combinación externa izquierda correctamente, pero el inventario es nulo en el objeto Libro. No es flojo cargado tampoco. Ignorando la librería y la cadena, ¿cómo hago un OneToOne o ManyToOne para unirme y obtener un inventario cuando se buscan los libros?
class Book{
@Id
Long id
@Column
String isbn;
@Column
String title;
@OneToOne(optional = true)
@JoinColumn(name = "isbn", referencedColumnName = "isbn",insertable = false, updatable = false)
Inventory inventory;
}
class Inventory{
@Id
Long id
@Column
String chainId
@Column
String isbn
@Column
Long availableQty
}
Eso no es un problema. El código que se muestra es solo indicativo. El verdadero problema está en algún lugar del OneToOne – Sathish
bien, me tienes. Todavía no estoy usando anotaciones en mi proyecto de hibernación. Puede verificar que los datos realmente tengan la relación. – Martlark