У меня есть родительский класс:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "BSEntity")
@DiscriminatorColumn(name = "resourceType", discriminatorType = DiscriminatorType.STRING, length = 32)
public abstract class BaseEntity {
и подкласс
@Entity
@Table(name = "BSCategory")
@DiscriminatorValue("Category")
public class CategoryEntity extends BaseEntity {
Но когда я запускаю программу, я получаю следующую ошибку:
2010-06-03 10:13:54,222 [main] WARN (org.hibernate.util.JDBCExceptionReporter:100) - SQL Error: 1364, SQLState: HY000
2010-06-03 10:13:54,222 [main] ERROR (org.hibernate.util.JDBCExceptionReporter:101) - Field 'resourceType' doesn't have a default value
Есть мысли?
Обновлено:
База данных MySQL. Я также изменил стратегию наследования на JOINED вместо SINGLE_TABLE. Помощь
Еще одно обновление:
Я видел где-то следующее сообщение, и это выглядит очень интересно: http://opensource.atlassian.com/projects/hibernate/browse/ANN-140
Новое обновление:
Если бы я использовал подход SecondaryTable, как бы я поступил тогда?
Окончательное обновление: выясняется, что функция @Discriminator плохо работает с hibernate. Я использовал подход @SecondaryTable, и он решил эту проблему для меня. Спасибо всем за помощь!