2014-07-30 2 views
0

как сделать @JoinTable неизменным ???как сделать @JoinTable неизменным

Здесь, в случае, я ищу, чтобы сделать latest_history непреложного

class Record { 

@OneToOne(cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REMOVE }, fetch = FetchType.LAZY, optional = true) 
    @JoinTable(name = "latest_history", joinColumns = { @JoinColumn(name = "record_id") }, inverseJoinColumns = { @JoinColumn(name = "history_id") }) 
    @AccessType("field") 
    public History getLatestHistory() { ... } 
} 
+0

что вы подразумеваете под термином "неизменяемый"? комментирует '@ Immutable' то, что вы хотите? –

+0

Я пообещал сделать таблицу не редактируемой, но набор должен быть доступен для редактирования, надеюсь, что я ясно @ManyToMany @JoinTable (name = "joinTable", joinColumns = @JoinColumn (name = "column_id"), inverseJoinColumns = @JoinColumn (имя = "other_id")) @ForeignKey (имя = "entities_fk", inverseName = "messages_fk") @OrderBy (значение = "displaySequence") общественного Set GetMessages() { \t возврат сообщений; } – Loks

ответ

1

В файле отображения XML набор изменяемой лжи для например:

<hibernate-mapping> 
    <class name="com.mkyong.common.Stock" table="stock" mutable="false" > 

А затем положить @Immutable аннотации выше вашему отображения код

надеюсь, что это поможет

+0

Извините, что я поставил неправильный пример во-первых, у меня есть отношение «многие ко многим», но не индивидуально, и я хотел бы сделать таблицу неизменной, но не установленной, @ManyToMany @JoinTable (name = «joinTable ", joinColumns = @JoinColumn (name =" column_id "), inverseJoinColumns = @JoinColumn (name =" other_id ")) @ForeignKey (name =" entities_fk ", inverseName =" messages_fk ") @OrderBy (value =" displaySequence ") public Set getMessages() {return messages; } – Loks

+0

использовать @immutable в классе, где вы указали переменную той конкретной таблицы, которую хотите сделать immutabel. – kirti

Смежные вопросы