0

以下のようなテーブルを実現したいと思います

   CREATE TABLE `item` (
  `country_id` bigint(20) NOT NULL,
  `name` varchar(255) NOT NULL,
  `CREATION_DATE` datetime NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `point` decimal(19,2) NOT NULL,
  `price` decimal(19,2) NOT NULL,
  `UPDATED_DATE` datetime DEFAULT NULL,
  `VERSION` int(11) DEFAULT NULL,
  `STARTER_PACKAGE` tinyint(1) NOT NULL,
  PRIMARY KEY (`name`,`country_id`),
  KEY `fk_country_id` (`country_id`),
  CONSTRAINT `fk_country_id` FOREIGN KEY (`country_id`) REFERENCES `country` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$

上記の表を達成するために、エンティティを注釈付きで記述する方法を誰かに教えてもらえますか?

4

1 に答える 1

1

Hibernate には、このケースを処理するための非常にエレガントな方法があります。

@Entity
@Table(name = "itemPrice")
public class ItemPrice extends PersistentObject {

   @Id
   @ManyToOne
   @JoinColumn(name = "country_id")
   private Country country;

   @Id
   @ManyToOne
   @JoinColumn(name = "item_id")
   private Item item;

   @Column(nullable = false)
   @NotNull
   private BigDecimal point;

   @Column(nullable = false)
   @NotNull
   private BigDecimal price;
}
于 2013-03-01T13:13:24.747 に答える