@ManyToOneを含むエンティティの削除中にJPAエラーが発生しました

BrunoPires

したがって、私は次の2つのクラスで作業しています。

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "type", discriminatorType = DiscriminatorType.STRING, length = 1)
@Table(name = "calibracao", catalog = "aquitel", schema = "")
@XmlRootElement
public abstract class Calibracao implements Serializable {    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idCalibracao")
    private Long idCalibracao;

    @Basic(optional = false)
    @Column(name = "type")
    private String type;

    @Basic(optional = false)
    @Column(name = "adc")
    private int adc;

    @Basic(optional = false)
    @Column(name = "voltagem")
    private float voltagem;

    @OneToOne(cascade = CascadeType.ALL, mappedBy = "calibracao")
    private CalibracaoPoco calibracaoPoco;

    @OneToOne(cascade = CascadeType.ALL, mappedBy = "calibracao")
    private CalibracaoRepetidor calibracaoRepetidor;

    @JoinColumn(name = "parametroStatus", referencedColumnName = "idParametro_Status")
    @ManyToOne(optional = false)
    private ParametroStatus parametroStatus;

    //Getters and setters        

}

そして

@Entity
@Table(name = "parametro_status", catalog = "aquitel", schema = "")
@XmlRootElement
public class ParametroStatus implements Serializable {        
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idParametro_Status")
    private Integer idParametroStatus;

    @Basic(optional = false)
    @Column(name = "nome")
    private String nome;

    @Column(name = "unidadeMedida")
    private String unidadeMedida;    

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "parametro")
    private List<Status> statusList;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "parametroStatus")
    private List<Calibracao> calibracaoList;    

    //Getters and setters

}

エンティティオブジェクトは、次のコードを使用してインスタンス化されます。

public class AdcCalibratior extends javax.swing.JFrame {

    List<Calibracao> points;

    public AdcCalibrator(){
        //Unrelated code ...
        points = getCalibration(selectedNode, selectedParameter);
    }

    //Unrelated code ...

    private List<Calibracao> getCalibration(Object node, ParametroStatus parameter) {
        if (node instanceof Poco) {
            TypedQuery query = em.createNamedQuery("CalibracaoPoco.findByParametro", CalibracaoPoco.class);
            query.setParameter("poco", (Poco) node);
            query.setParameter("parametro", parameter);
            return query.getResultList();
        } else {
            TypedQuery query = em.createNamedQuery("CalibracaoRepetidor.findByParametro", CalibracaoRepetidor.class);
            query.setParameter("repetidor", (Repetidor) node);
            query.setParameter("parametro", parameter);
            return query.getResultList();
        }
    }

//More unrelated code ...

}

私はのインスタンスを削除しようとするとCalibracao使用してEntityManager.remove(calibracao)、私は次のエラーを取得します:

[EL Warning]: 2014-02-15 22:49:43.27--UnitOfWork(2118956727)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'parametroStatus' cannot be null
Error Code: 1048
Call: UPDATE aquitel.calibracao SET parametroStatus = ? WHERE (idCalibracao = ?)
        bind => [2 parameters bound]
Query: DeleteObjectQuery(unesp.lebac.aquitel.dataLink.enitity.CalibracaoPoco[ idCalibracao=6 ])

なぜこれが起こるのか誰かが知っていますか?

コイトエル

これを行うことを検討してください:

  1. CalibracaoエンティティのParametroStatusプロパティをnullに設定します。
  2. そのCalibracaoエンティティに対してem.remove()を試してください。

参照をnullに設定すると問題が解決する可能性があります。奇妙なのは、エンティティを削除しようとしたときに表示されるupdateステートメントだけです。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Entity Framework6で子エンティティを削除中にエラーが発生しました

分類Dev

エンティティの作成中にDDLを実行中にエラーが発生しました

分類Dev

SymfonyでDoctrineを使用してエンティティを作成中にエラーが発生しました

分類Dev

Spacyエンティティリンクの例の実行中にエラーが発生しました

分類Dev

子エンティティの更新中にエラーが発生しました

分類Dev

エンティティの更新中にエラーが発生しました-Symfony3

分類Dev

JDLファイルjhipsterからエンティティを解析中にエラーが発生しました

分類Dev

SpringJavaでエンティティを作成中にエラーが発生しました

分類Dev

ManyToOneリレーションの取得中にEntityNotFoundExceptionが発生しましたが、エンティティIDが存在します

分類Dev

CLIを使用した静的ルーティングの構成中にエラーが発生しました

分類Dev

EntityFrameworkを使用してエンティティの単一のプロパティを更新中にエラーが発生しました

分類Dev

Hibernateエンティティのクエリ時にエラーが発生しました

分類Dev

4.0.4でvideoViewを含むフラグメントを削除中にエラーが発生しました

分類Dev

単一のデータベースに 2 つのエンティティを作成中にエラーが発生しました

分類Dev

エンティティの保存中にSpring / Hibernateエンコーディングエラーが発生しました

分類Dev

APIGEEエンティティの更新時にエラーが発生しました

分類Dev

アクティブなレコードを削除するボタンの作成中にエラーが発生しました

分類Dev

1から0..1の関係を持つエンティティの読み込み中にエラーが発生しましたEntityFramework

分類Dev

jhipsterimport-エンティティフィルターの作成中にjdlフィルターエラーが発生しました

分類Dev

Laravelティンカーコンソール(sqlite)からの移行中にエラーが発生しました

分類Dev

NTFSパーティションのマウント中にエラーが発生しました

分類Dev

Windowsパーティションのマウント中にエラーが発生しました

分類Dev

新しいアクティビティの作成中にエラーが発生しました

分類Dev

新しいAndroidアクティビティの挿入中にエラーが発生しました

分類Dev

AndroidStudioで新しいアクティビティを作成中にエラーが発生しました

分類Dev

デフォルトのパーティションpostgresの作成中にエラーが発生しました

分類Dev

パーティションビューの作成中にハイブエラーが発生しました

分類Dev

Android Googleマップ:アクティビティにMapFragmentを追加中にエラーが発生しました

分類Dev

AndroidStudioでのYouTubeアクティビティの実行中にエラーが発生しました

Related 関連記事

  1. 1

    Entity Framework6で子エンティティを削除中にエラーが発生しました

  2. 2

    エンティティの作成中にDDLを実行中にエラーが発生しました

  3. 3

    SymfonyでDoctrineを使用してエンティティを作成中にエラーが発生しました

  4. 4

    Spacyエンティティリンクの例の実行中にエラーが発生しました

  5. 5

    子エンティティの更新中にエラーが発生しました

  6. 6

    エンティティの更新中にエラーが発生しました-Symfony3

  7. 7

    JDLファイルjhipsterからエンティティを解析中にエラーが発生しました

  8. 8

    SpringJavaでエンティティを作成中にエラーが発生しました

  9. 9

    ManyToOneリレーションの取得中にEntityNotFoundExceptionが発生しましたが、エンティティIDが存在します

  10. 10

    CLIを使用した静的ルーティングの構成中にエラーが発生しました

  11. 11

    EntityFrameworkを使用してエンティティの単一のプロパティを更新中にエラーが発生しました

  12. 12

    Hibernateエンティティのクエリ時にエラーが発生しました

  13. 13

    4.0.4でvideoViewを含むフラグメントを削除中にエラーが発生しました

  14. 14

    単一のデータベースに 2 つのエンティティを作成中にエラーが発生しました

  15. 15

    エンティティの保存中にSpring / Hibernateエンコーディングエラーが発生しました

  16. 16

    APIGEEエンティティの更新時にエラーが発生しました

  17. 17

    アクティブなレコードを削除するボタンの作成中にエラーが発生しました

  18. 18

    1から0..1の関係を持つエンティティの読み込み中にエラーが発生しましたEntityFramework

  19. 19

    jhipsterimport-エンティティフィルターの作成中にjdlフィルターエラーが発生しました

  20. 20

    Laravelティンカーコンソール(sqlite)からの移行中にエラーが発生しました

  21. 21

    NTFSパーティションのマウント中にエラーが発生しました

  22. 22

    Windowsパーティションのマウント中にエラーが発生しました

  23. 23

    新しいアクティビティの作成中にエラーが発生しました

  24. 24

    新しいAndroidアクティビティの挿入中にエラーが発生しました

  25. 25

    AndroidStudioで新しいアクティビティを作成中にエラーが発生しました

  26. 26

    デフォルトのパーティションpostgresの作成中にエラーが発生しました

  27. 27

    パーティションビューの作成中にハイブエラーが発生しました

  28. 28

    Android Googleマップ:アクティビティにMapFragmentを追加中にエラーが発生しました

  29. 29

    AndroidStudioでのYouTubeアクティビティの実行中にエラーが発生しました

ホットタグ

アーカイブ