Нужен пример первичного ключа @OneToOne отображающийся в, в спящем режиме

См. Этот ответ, который относится к MySQL, но объясняет проблему с сетью.

Как изнутри контейнера Docker, как мне подключиться к локальному узлу машины?

Суть в том, что если вы используете Linux, добавьте --network = "host "и если вы используете windows или mac, измените хост neo4j в вашей конфигурации Spring Boot на host.docker.internal. Для этого отредактируйте файл application.properties или application.yml.

spring.data.neo4j.uri=bolt://host.docker.internal:7687

Документация по поддержке Neo4j в Spring Boot находится здесь.

https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/reference/htmlsingle/#boot-features-neo4j

5
задан Alex Marshall 24 November 2008 в 16:01
поделиться

4 ответа

Ваше намерение состоит в том, чтобы иметь отношения 1-1 между PaperChequeStopMetaData и PaperCheque? Если это так, Вы не можете определить экземпляр PaperCheque как @Id PaperChequeStopMetaData, необходимо определить отдельный @Id столбец в PaperChequeStopMetaData.

2
ответ дан 14 December 2019 в 09:03
поделиться

Спасибо вам обоим за Ваши ответы. Я продолжал экспериментировать и здесь - то, что я получил работу:

@Entity
@Table(name = "paper_cheque_stop_metadata")
@org.hibernate.annotations.Entity(mutable = false)
public class PaperChequeStopMetadata implements Serializable, SecurityEventAware {

private static final long serialVersionUID = 1L;

@SuppressWarnings("unused")
@Id
@Column(name = "paper_cheque_id")
@AccessType("property")
private long    id;

@OneToOne(cascade = {}, fetch = FetchType.EAGER, optional = false, targetEntity = PaperCheque.class)
@PrimaryKeyJoinColumn(name = "paper_cheque_id")
@JoinColumn(name = "paper_cheque_id", insertable = true)
@NotNull
private PaperCheque paperCheque;

@XmlAttribute(namespace = XMLNS, name = "paper-cheque-id", required = true)
public final long getId() {
    return this.paperCheque.getId();
}

public final void setId(long id) {
    //this.id = id;
    //NOOP, this is essentially a pseudo-property
}
}

Это - любой ценой, отвратительный взлом, но это получает меня все, которое я хотел. paperCheque средства доступа свойства как нормальные (не показаны). Я столкнулся с этим видом однонаправленного OneToOne, отображающего проблему прежде, и согласился на намного худшие решения, но на этот раз я решил, что собирался выяснить, таким образом, я держал взламывание отдельно в нем. Еще раз, спасибо вам обоим за Ваши ответы, это очень ценится.

1
ответ дан 14 December 2019 в 09:03
поделиться

Я сохранил это обсуждение, когда я реализовал несколько @OneToOne отображений, я надеюсь, что оно может быть полезно для Вас также, но мы не позволяем, в спящем режиме, создают базу данных для нас.

Отметьте аннотацию GenericGenerator.

Так или иначе у меня есть эта работа кода:

@Entity
@Table(name = "message")
public class Message implements java.io.Serializable
{
    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @PrimaryKeyJoinColumn(name = "id", referencedColumnName = "message_id")
    public MessageContent getMessageContent()
    {
        return messageContent;
    }
}

@Entity
@Table(name = "message_content")
@GenericGenerator(name = "MessageContent", strategy = "foreign",
    parameters =
    {
      @org.hibernate.annotations.Parameter
      (
        name = "property", value = "message"
      )
    }
)
public class MessageContent implements java.io.Serializable
{
    @Id
    @Column(name = "message_id", unique = true, nullable = false)
    // See http://forum.hibernate.org/viewtopic.php?p=2381079
    @GeneratedValue(generator = "MessageContent")
    public Integer getMessageId()
    {
            return this.messageId;
    }
}
5
ответ дан 14 December 2019 в 09:03
поделиться

Не используйте сопоставление OneToOne в спящем режиме, это очень опасно. см. http://opensource.atlassian.com/projects/hibernate/browse/HHH-2128

, вам лучше использовать отображения ManyToOne.

-2
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: