[送信]をクリックした後、2つのエンティティにデータを入力するにはどうすればよいですか?

JustCoding

私は一日中解決策を探していますが、それでも何も見つかりません。

本を作成するときに、著者を作成して同時に本に割り当てるにはどうすればよいですか?

私は2つのエンティティを持っています

@Data
@Entity
public class Book {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;

@ManyToOne
private Author author;
}

著者

@Data
@Entity
public class Author {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;

@OneToMany(mappedBy = "author")
private Set<Book> books;
}

コントローラ

@Controller
public class BookController {

private BookRepository bookRepository;

public BookController(BookRepository bookRepository) {
    this.bookRepository = bookRepository;
}

@RequestMapping(value="/booklist", method= RequestMethod.GET)
public String bookList(Model model) {
    model.addAttribute("books", bookRepository.findAll());
    return "booklist";
}

@RequestMapping(value = "/add")
public String addBook(Model model){
    model.addAttribute("book", new Book());
    return "addbook";
}

@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(Book book){
    bookRepository.save(book);        
    return "redirect:booklist";
}
}

見る

<body>

<div>
    <form th:object="${book}" th:action="@{save}" action="#" method="post">
        <label for="title">Title</label> 
        <input type="text" id="title"
            th:field="*{title}" />
        <label for="author">Author</label>
        <input type="text" id="author" th:field="*{author.name}" />

        <input type="submit" value="Save"></input>
    </form>
</div>


</body>

ブックを作成しようとすると、このエラー
発生しました。予期しないエラーが発生しました(type = Internal Server Error、status = 500)。org.hibernate.TransientPropertyValueException:オブジェクトは保存されていない一時インスタンスを参照します-フラッシュする前に一時インスタンスを保存します

送信ボタンをクリックすると、次のようになります。

Oguzhan Aygun

このようなエンティティの作成者にcascedeを追加してみてください

@Data
@Entity
public class Book {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;

@ManyToOne(cascade=CascadeType.ALL)
private Author author;

}

またはエンティティにprepersistアノテーションを使用します

@PrePersist
protected void onCreate() {
    //check author is exist if not persist the author first
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

入力データ値をangular-2のカスタムディレクティブに送信するにはどうすればよいですか?

分類Dev

角度でデータを送信した後に入力フィールドをクリアするにはどうすればよいですか?

分類Dev

入力キーでShinyの2つのリアクティブデータフレームを結合するにはどうすればよいですか?

分類Dev

Angularの$ resourceを介してカスタムディレクティブから入力値を送信するにはどうすればよいですか?

分類Dev

反応ネイティブボタンをクリックしてデータをWebviewに送信するにはどうすればよいですか?

分類Dev

MainActivityのボタンを再度クリックして2番目のアクティビティを起動した後、2番目のアクティビティの値を保持するにはどうすればよいですか?

分類Dev

送信をクリックした後、現在アクティブなカルーセルからすべての入力値を取得するにはどうすればよいですか?

分類Dev

Knockoutjsテンプレート:いくつかのプロパティで配列をフィルタリングした後、2つのDOM要素に1つのオブジェクト配列を使用するにはどうすればよいですか?

分類Dev

入力エリアの横に送信ボタンがあるアダプティブフォーム(メール入力ボックス)を作成するにはどうすればよいですか?

分類Dev

EditTextボックスに入力したデータを配列に追加して、別のアクティビティにリストするにはどうすればよいですか?

分類Dev

linq-to-sqlまたはエンティティフレームワークを使用して、2つの異なる親エンティティにエンティティを追加するにはどうすればよいですか?

分類Dev

フロートタイプのエンティティを持つ送信が成功した後にフォームをリセットするにはどうすればよいですか?

分類Dev

PHPとJAVASCRIPT-各入力フィールドに接続されているボタンをクリックした後、複数の入力フィールドから値を取得するにはどうすればよいですか?

分類Dev

Railsスリムテンプレートの入力に角度属性ディレクティブを追加するにはどうすればよいですか?

分類Dev

angle2で、ボタンの長押しディレクティブがクリックまたはルーターイベントをトリガーしないようにするにはどうすればよいですか?

分類Dev

Spring + Hibernate:2つのリンクテーブルを効率的にチェーンし、結果のデータを単一のエンティティに含めるにはどうすればよいですか?(ユーザーロール権)

分類Dev

インテントを使用して、最初のアクティビティから2番目のアクティビティに、2番目のアクティビティから最初のアクティビティにデータを送信するにはどうすればよいですか?

分類Dev

ボタンをクリックしてアクティビティを入力するときに、1つずつレトロフィット応答を取得するにはどうすればよいですか?

分類Dev

入力を送信した後、入力ボックスのテキスト値を取得するにはどうすればよいですか?

分類Dev

ワンクリックで2つのMySqlテーブルにデータを挿入するにはどうすればよいですか?

分類Dev

ボタンをカレンダーのプロパティにリダイレクトし、vb.netで選択した日付をテキストボックスに入力するにはどうすればよいですか?

分類Dev

別のアクティビティから送信されたデータを意図的に送信するにはどうすればよいですか?

分類Dev

別のアクティビティから送信されたデータを意図的に送信するにはどうすればよいですか?

分類Dev

複数のクラス (同じエンティティですが、拡張されたプロパティを持つ) を同じデータベース テーブルにマップするにはどうすればよいですか?

分類Dev

react jsのボタンをクリックするたびに入力フィールドを表示するにはどうすればよいですか?

分類Dev

アクティビティ(SQLite)でデータを変更した後、フラグメントを更新するにはどうすればよいですか?

分類Dev

受信したBluetoothデータをメインアクティビティから2つのフラグメントに送信するにはどうすればよいですか?

分類Dev

アプリケーションがフェッチし、フェッチしたデータをアプリケーションに渡した後、新しいアクティビティを開始するにはどうすればよいですか?

分類Dev

コレクションにデータを入力したときにクエリで返されないように、Mongoose / MongoDBのパスワードフィールドを保護するにはどうすればよいですか?

Related 関連記事

  1. 1

    入力データ値をangular-2のカスタムディレクティブに送信するにはどうすればよいですか?

  2. 2

    角度でデータを送信した後に入力フィールドをクリアするにはどうすればよいですか?

  3. 3

    入力キーでShinyの2つのリアクティブデータフレームを結合するにはどうすればよいですか?

  4. 4

    Angularの$ resourceを介してカスタムディレクティブから入力値を送信するにはどうすればよいですか?

  5. 5

    反応ネイティブボタンをクリックしてデータをWebviewに送信するにはどうすればよいですか?

  6. 6

    MainActivityのボタンを再度クリックして2番目のアクティビティを起動した後、2番目のアクティビティの値を保持するにはどうすればよいですか?

  7. 7

    送信をクリックした後、現在アクティブなカルーセルからすべての入力値を取得するにはどうすればよいですか?

  8. 8

    Knockoutjsテンプレート:いくつかのプロパティで配列をフィルタリングした後、2つのDOM要素に1つのオブジェクト配列を使用するにはどうすればよいですか?

  9. 9

    入力エリアの横に送信ボタンがあるアダプティブフォーム(メール入力ボックス)を作成するにはどうすればよいですか?

  10. 10

    EditTextボックスに入力したデータを配列に追加して、別のアクティビティにリストするにはどうすればよいですか?

  11. 11

    linq-to-sqlまたはエンティティフレームワークを使用して、2つの異なる親エンティティにエンティティを追加するにはどうすればよいですか?

  12. 12

    フロートタイプのエンティティを持つ送信が成功した後にフォームをリセットするにはどうすればよいですか?

  13. 13

    PHPとJAVASCRIPT-各入力フィールドに接続されているボタンをクリックした後、複数の入力フィールドから値を取得するにはどうすればよいですか?

  14. 14

    Railsスリムテンプレートの入力に角度属性ディレクティブを追加するにはどうすればよいですか?

  15. 15

    angle2で、ボタンの長押しディレクティブがクリックまたはルーターイベントをトリガーしないようにするにはどうすればよいですか?

  16. 16

    Spring + Hibernate:2つのリンクテーブルを効率的にチェーンし、結果のデータを単一のエンティティに含めるにはどうすればよいですか?(ユーザーロール権)

  17. 17

    インテントを使用して、最初のアクティビティから2番目のアクティビティに、2番目のアクティビティから最初のアクティビティにデータを送信するにはどうすればよいですか?

  18. 18

    ボタンをクリックしてアクティビティを入力するときに、1つずつレトロフィット応答を取得するにはどうすればよいですか?

  19. 19

    入力を送信した後、入力ボックスのテキスト値を取得するにはどうすればよいですか?

  20. 20

    ワンクリックで2つのMySqlテーブルにデータを挿入するにはどうすればよいですか?

  21. 21

    ボタンをカレンダーのプロパティにリダイレクトし、vb.netで選択した日付をテキストボックスに入力するにはどうすればよいですか?

  22. 22

    別のアクティビティから送信されたデータを意図的に送信するにはどうすればよいですか?

  23. 23

    別のアクティビティから送信されたデータを意図的に送信するにはどうすればよいですか?

  24. 24

    複数のクラス (同じエンティティですが、拡張されたプロパティを持つ) を同じデータベース テーブルにマップするにはどうすればよいですか?

  25. 25

    react jsのボタンをクリックするたびに入力フィールドを表示するにはどうすればよいですか?

  26. 26

    アクティビティ(SQLite)でデータを変更した後、フラグメントを更新するにはどうすればよいですか?

  27. 27

    受信したBluetoothデータをメインアクティビティから2つのフラグメントに送信するにはどうすればよいですか?

  28. 28

    アプリケーションがフェッチし、フェッチしたデータをアプリケーションに渡した後、新しいアクティビティを開始するにはどうすればよいですか?

  29. 29

    コレクションにデータを入力したときにクエリで返されないように、Mongoose / MongoDBのパスワードフィールドを保護するにはどうすればよいですか?

ホットタグ

アーカイブ