Class EffectiveEntityGraph

    • Constructor Detail

      • EffectiveEntityGraph

        public EffectiveEntityGraph()
        ImplSpec:
        I explicitly made this constructor package protected because we may need to pass in the SessionFactory or JpaCompliance etc to be able to know what to do in applyConfiguredGraph(Map) when the incoming properties contain both a GraphSemantic.FETCH and a GraphSemantic.LOAD. In other words, we may need to add some constructor argument here so we want to control what can call it
    • Method Detail

      • applyGraph

        public void applyGraph​(RootGraphImplementor<?> graph,
                               GraphSemantic semantic)
        Apply the graph and semantic. The semantic is required. The graph may be null, but that should generally be considered mis-use.
        Throws:
        java.lang.IllegalArgumentException - Thrown if the semantic is null
        java.lang.IllegalStateException - If previous state is still available (hasn't been cleared).
      • applyConfiguredGraph

        public void applyConfiguredGraph​(java.util.Map<java.lang.String,​?> properties)
        Apply a graph and semantic based on configuration properties or hints based on GraphSemantic.getJpaHintName() for GraphSemantic.LOAD or GraphSemantic.FETCH. The semantic is required. The graph may be null, but that should generally be considered mis-use.
        Throws:
        java.lang.IllegalArgumentException - If both kinds of graphs were present in the properties/hints
        java.lang.IllegalStateException - If previous state is still available (hasn't been cleared).
      • clear

        public void clear()