У меня есть сущность Account
, у нее может быть (а может не быть) одна сущность AccountOrganization
. В SQL
это выглядит так:
CREATE TABLE IF NOT EXISTS statistics_account (
id SERIAL PRIMARY KEY NOT NULL,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(100) NOT NULL,
email VARCHAR(50) NOT NULL,
first_name VARCHAR(50),
second_name VARCHAR(50),
created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS statistics_account_organization (
account_id INTEGER REFERENCES statistics_account (id) PRIMARY KEY,
organization_id UUID NOT NULL,
name VARCHAR(70) UNIQUE NOT NULL,
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW()
);
С помощью Hibernate
я пытаюсь это замапить следующим образом:
@Entity
@Table(name = "statistics_account")
@Data
@NoArgsConstructor
public class Account implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String username;
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String password;
private String email;
@Column(name = "first_name")
private String firstName;
@Column(name = "second_name")
private String lastName;
@OneToOne(fetch = FetchType.LAZY, mappedBy = "account")
private AccountOrganization accountOrganization;
}
@Data
@Entity
@Table(name = "statistics_account_organization")
public class AccountOrganization {
@Id
@GeneratedValue
@JsonIgnore
@Column(name = "account_id")
private long accountId;
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
@JsonIgnore
private Account account;
private UUID organization_id;
private String name;
}
Возникает ошибка при маппенге поля private Account account;
. Hibernate
Не может понять как ему сформировать его. Как мне сделать это правильно ?
Полный текст ошибки:
Caused by: org.hibernate.AnnotationException: Unknown mappedBy in: ru.natalietours.domain.inner.auth.Account.accountOrganization, referenced property unknown: ru.domain.AccountOrganization.account
at org.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:147) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1655) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1623) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:278) ~[hibernate-core-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:847) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:874) ~[hibernate-entitymanager-5.0.12.Final.jar:5.0.12.Final]
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) ~[spring-orm-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353) ~[spring-orm-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:370) ~[spring-orm-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:359) ~[spring-orm-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE]
... 16 common frames omitted
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте! Подскажи, пожалуйста, у меня мысли плывутИспользую Spring Data, Security
I have problem with extracting dataI have next entities
Использую Thymeleaf и при выводе месяца, он почему-то выводится в родительном падеже, и я никак не могу понять почему