<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>@Column (javax.jdo) :: Apache Isis</title>
    <link rel="canonical" href="https://isis.apache.org/refguide/2.0.0-M3/applib-ant/Column.html">
    <meta name="generator" content="Antora 2.2.0">
    <link rel="stylesheet" href="../../../_/css/site.css">
    <link rel="stylesheet" href="../../../_/css/site-custom.css">
    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
<link rel="home" href="https://isis.apache.org" title="Apache Isis">
  <link rel="next" href="Digits.html" title="Digits">
  <link rel="prev" href="CollectionLayout.html" title="CollectionLayout">
  </head>
  <body class="article">
<header class="header">
  <nav class="navbar">
    <div class="navbar-brand">
      <a class="navbar-item" href="https://isis.apache.org">
          <span class="icon">
            <img src="../../../_/img/isis-logo-48x48.png"></img>
          </span>
        <span>Apache Isis</span>
      </a>
      <button class="navbar-burger" data-target="topbar-nav">
        <span></span>
        <span></span>
        <span></span>
      </button>
    </div>
    <div id="topbar-nav" class="navbar-menu">
      <a class="navbar-end">
        <div class="navbar-item hide-for-print">
          <span>
            <input id="algolia-search-input" placeholder="Search"></span>
          </span>
        </div>
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" href="#">Quick Start</a>
          <div class="navbar-dropdown">
            <span class="navbar-item navbar-heading">Starter Apps</span>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/starters/helloworld.html">Hello World</a>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/starters/simpleapp.html">Simple App</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Demos &amp; Tutorials</span>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/demo/about.html">Demo App</a>
            <a class="navbar-item" href="https://danhaywood.gitlab.io/isis-petclinic-tutorial-docs/petclinic/1.16.2/intro.html">Petclinic (tutorial)</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Resources</span>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/resources/cheatsheet.html">Cheatsheet</a>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/resources/icons.html">Icons</a>
          </div>
        </div>
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" href="#">Guides</a>
          <div class="navbar-dropdown">
            <span class="navbar-item navbar-heading">Development</span>
            <a class="navbar-item" href="../../../setupguide/2.0.0-M3/about.html">Setup Guide</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Core</span>
            <a class="navbar-item" href="../../../userguide/2.0.0-M3/about.html">User Guide</a>
            <a class="navbar-item" href="../../../refguide/2.0.0-M3/about.html">Reference Guide</a>
            <a class="navbar-item" href="../../../testing/2.0.0-M3/about.html">Testing Guide</a>
          </div>
        </div>
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" href="#">Libraries</a>
          <div class="navbar-dropdown">
            <span class="navbar-item navbar-heading">For Use in Apps</span>
            <a class="navbar-item" href="../../../subdomains/2.0.0-M3/about.html">Subdomain Libraries</a>
            <a class="navbar-item" href="../../../valuetypes/2.0.0-M3/about.html">Value Types</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Integrate between Apps</span>
            <a class="navbar-item" href="../../../mappings/2.0.0-M3/about.html">Bounded Context Mapping Libraries</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Other</span>
            <a class="navbar-item" href="../../../incubator/2.0.0-M3/about.html">Incubator</a>
            <a class="navbar-item" href="../../../legacy/2.0.0-M3/about.html">Legacy</a>
          </div>
        </div>
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" href="#">Components</a>
          <div class="navbar-dropdown">
            <span class="navbar-item navbar-heading">Viewers</span>
            <a class="navbar-item" href="../../../vw/2.0.0-M3/about.html">Wicket UI</a>
            <a class="navbar-item" href="../../../vro/2.0.0-M3/about.html">Restful Objects (REST)</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Security</span>
            <a class="navbar-item" href="../../../security/2.0.0-M3/about.html">Security Guide</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Persistence</span>
            <a class="navbar-item" href="../../../pjdo/2.0.0-M3/about.html">DataNucleus (JDO)</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Extensions</span>
            <a class="navbar-item" href="../../../extensions/2.0.0-M3/about.html">Extensions Catalog</a>
          </div>
        </div>
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" href="#">Support</a>
          <div class="navbar-dropdown">
            <span class="navbar-item navbar-heading">Contact</span>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/support/slack-channel.html">Slack</a>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/support/mailing-list.html">Mailing Lists</a>
            <a class="navbar-item" href="https://issues.apache.org/jira/browse/ISIS">JIRA</a>
            <a class="navbar-item" href="https://stackoverflow.com/questions/tagged/isis">Stack Overflow</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Releases</span>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/downloads/how-to.html">Downloads</a>
            <a class="navbar-item" href="../../../relnotes/2.0.0-M3/about.html">Release Notes</a>
            <a class="navbar-item" href="../../../docs/2.0.0-M3/archive/1-x.html">Archive (1.x)</a>
            <hr class="navbar-divider"/>
            <span class="navbar-item navbar-heading">Framework</span>
            <a class="navbar-item" href="../../../conguide/2.0.0-M3/about.html">Contributors' Guide</a>
            <a class="navbar-item" href="../../../comguide/2.0.0-M3/about.html">Committers' Guide</a>
            <a class="navbar-item" href="../../../core/2.0.0-M3/about.html">Core Design</a>
          </div>
        </div>
        <div class="navbar-item has-dropdown is-hoverable">
          <a class="navbar-link" href="#">ASF</a>
          <div class="navbar-dropdown">
            <a class="navbar-item" href="http://www.apache.org/">Apache Homepage</a>
            <a class="navbar-item" href="https://www.apache.org/events/current-event">Events</a>
            <a class="navbar-item" href="https://www.apache.org/licenses/">Licenses</a>
            <a class="navbar-item" href="https://www.apache.org/security/">Security</a>
            <a class="navbar-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
            <a class="navbar-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
            <hr class="navbar-divider"/>
            <a class="navbar-item" href="https://whimsy.apache.org/board/minutes/Isis.html">PMC board minutes</a>
          </div>
        </div>
        <a class="navbar-item" href="../../../docs/2.0.0-M3/about.html">
          <span class="icon">
            <img src="../../../_/img/home.png"></img>
          </span>
        </a>
      </div>
    </div>
  </nav>
</header>
<div class="body ">
<div class="nav-container" data-component="refguide" data-version="2.0.0-M3">
  <aside class="nav">
    <div class="panels">
<div class="nav-panel-pagination">
  <a class="page-previous" rel="prev" href="CollectionLayout.html" title="CollectionLayout"><span></span></a>
  <a class="page-next" rel="next"
     href="Digits.html" title="Digits"><span></span></a>
<!--
page.parent doesn't seem to be set...
  <a class="page-parent" rel="prev" href="about.html" title="CollectionLayout"><span></span></a>
-->
</div>
<div class="nav-panel-menu is-active" data-panel="menu">
  <nav class="nav-menu">
    <h3 class="title"><a href="../about.html">Reference Guide</a></h3>
<ul class="nav-list">
  <li class="nav-item" data-depth="0">
<ul class="nav-list">
  <li class="nav-item" data-depth="1">
    <button class="nav-item-toggle"></button>
    <a class="nav-link" href="about.html">Annotations</a>
<ul class="nav-list">
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Action.html">Action</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="ActionLayout.html">ActionLayout</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Collection.html">Collection</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="CollectionLayout.html">CollectionLayout</a>
  </li>
  <li class="nav-item is-current-page" data-depth="2">
    <a class="nav-link" href="Column.html">Column</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Digits.html">Digits</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Discriminator.html">Discriminator</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="DomainObject.html">DomainObject</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="DomainObjectLayout.html">DomainObjectLayout</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="DomainService.html">DomainService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="DomainServiceLayout.html">DomainServiceLayout</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Facets.html">Facets</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="HomePage.html">HomePage</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="MemberOrder.html">MemberOrder</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Mixin.html">Mixin</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="NotPersistent.html">NotPersistent.</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Nullable.html">Nullable</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="MinLength.html">MinLength</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Parameter.html">Parameter</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="ParameterLayout.html">ParameterLayout</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Pattern.html">Pattern</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="PersistenceCapable.html">PersistenceCapable</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="PrimaryKey.html">PrimaryKey</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Programmatic.html">Programmatic</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Property.html">Property</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="PropertyLayout.html">PropertyLayout</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="IsisSessionScope.html">RequestScoped</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="Title.html">Title</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="ViewModel.html">ViewModel</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="XmlJavaTypeAdapter.html">XmlJavaTypeAdapter</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="XmlRootElement.html">XmlRootElement</a>
  </li>
</ul>
  </li>
  <li class="nav-item" data-depth="1">
    <button class="nav-item-toggle"></button>
    <a class="nav-link" href="../applib-methods/about.html">Methods</a>
<ul class="nav-list">
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-methods/prefixes.html">Supporting Method Prefixes</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-methods/reserved.html">Reserved Methods</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-methods/lifecycle.html">Lifecycle Methods</a>
  </li>
</ul>
  </li>
  <li class="nav-item" data-depth="1">
    <button class="nav-item-toggle"></button>
    <a class="nav-link" href="../applib-classes/about.html">Classes</a>
<ul class="nav-list">
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/events.html">Events</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/ViewModel.html"><code>ViewModel</code></a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/value-types.html">Value Types</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/spec.html">Specification pattern</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/i18n.html">i18n support</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/roles-mixins-contributees.html">Roles, Mixins and Contributees</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/utility.html">Utility Classes</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-classes/layout.html">Layout</a>
  </li>
</ul>
  </li>
  <li class="nav-item" data-depth="1">
    <button class="nav-item-toggle"></button>
    <a class="nav-link" href="../applib-svc/about.html">Domain Services</a>
<ul class="nav-list">
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/AcceptHeaderService.html">AcceptHeaderService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ApplicationFeatureRepository.html">ApplicationFeatureRepository</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/AuditerService.html">AuditerService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/BookmarkService.html">BookmarkService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/BookmarkUiService.html">BookmarkUiService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ClockService.html">ClockService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/CommandContext.html">CommandContext</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/CommandDtoProcessorService.html">CommandDtoProcessorService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/CommandExecutorService.html">CommandExecutorService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/CommandService.html">CommandService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ConfigurationMenu.html">ConfigurationMenu</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ConfigurationViewService.html">ConfigurationViewService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ContentMappingService.html">ContentMappingService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/DeepLinkService.html">DeepLinkService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/EmailNotificationService.html">EmailNotificationService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/EmailService.html">EmailService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ErrorReportingService.html">ErrorReportingService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/EventBusService.html">EventBusService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ExceptionRecognizerService.html">ExceptionRecognizerService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/FactoryService.html">FactoryService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/GridLoaderService.html">GridLoaderService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/GridService.html">GridService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/GridSystemService.html">GridSystemService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/HealthCheckService.html">HealthCheckService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/HintStore.html">HintStore</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/HomePageResolverService.html">HomePageResolverService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/InteractionContext.html">InteractionContext</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/JaxbService.html">JaxbService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/LayoutService.html">LayoutService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/LayoutServiceMenu.html">LayoutServiceMenu</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/LocaleProvider.html">LocaleProvider</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/MenuBarsLoaderService.html">MenuBarsLoaderService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/MenuBarsService.html">MenuBarsService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/MessageService.html">MessageService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/MetaModelService.html">MetamodelService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/MetaModelServiceMenu.html">MetamodelServiceMenu</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/MetricsService.html">MetricsService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/PublisherService.html">PublisherService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/QueryResultsCache.html">QueryResultsCache</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/RepositoryService.html">RepositoryService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/RoutingService.html">RoutingService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/Scratchpad.html">Scratchpad</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ServiceInjector.html">ServiceInjector</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/ServiceRegistry.html">ServiceRegistry</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/SessionLoggingService.html">SessionLoggingService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/SudoService.html">SudoService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/SwaggerService.html">SwaggerService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/TableColumnOrderService.html">TableColumnOrderService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/TitleService.html">TitleService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/TranslationService.html">TranslationService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/TranslationsResolver.html">TranslationsResolver</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/TransactionService.html">TransactionService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/UrlEncodingService.html">UrlEncodingService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/UserProfileService.html">UserProfileService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/UserRegistrationService.html">UserRegistrationService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/UserService.html">UserService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/WrapperFactory.html">WrapperFactory</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/XmlService.html">XmlService</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../applib-svc/XmlSnapshotService.html">XmlSnapshotService</a>
  </li>
</ul>
  </li>
  <li class="nav-item" data-depth="1">
    <button class="nav-item-toggle"></button>
    <a class="nav-link" href="../config/about.html">Configuration</a>
<ul class="nav-list">
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.applib.html">Applib</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.core.meta-model.html">Core MetaModel</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.core.meta-model.introspector.html">Core MetaModel Introspection</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.core.meta-model.validator.html">MetaModel Validator</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.core.runtime.html">Core Runtime Services configurations</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.core.runtime-services.html">Core Runtime Services configurations</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.security.shiro.html">Shiro Security Implementation</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.persistence.jdo-datanucleus.html">JDO DataNucleus</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.persistence.jdo-datanucleus.impl.html">DataNucleus Configuration</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.viewer.restfulobjects.html">Restful Objects Viewer</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.viewer.wicket.html">Wicket Viewer</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.extensions.html">Extensions</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.value-types.html">Value types</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.testing.html">Testing</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/isis.legacy.html">Legacy</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/resteasy.html">RestEasy Configuration</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../config/sections/Other.html">Other</a>
  </li>
</ul>
  </li>
  <li class="nav-item" data-depth="1">
    <button class="nav-item-toggle"></button>
    <a class="nav-link" href="../schema/about.html">Schema</a>
<ul class="nav-list">
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../schema/mml.html">MetaModel</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../schema/cmd.html">Command</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../schema/ixn.html">Interaction</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../schema/chg.html">Changes</a>
  </li>
  <li class="nav-item" data-depth="2">
    <a class="nav-link" href="../schema/common.html">Common</a>
  </li>
</ul>
  </li>
</ul>
  </li>
</ul>
  </nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
  <div class="context">
    <span class="title">Reference Guide</span>
    <span class="version">2.0.0-M3</span>
  </div>
  <ul class="components">
    <li class="component">
      <span class="title"> </span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../docs/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">BC Mappings Catalog</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../mappings/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Committers' Guide</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../comguide/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Contributors' Guide</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../conguide/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Design Docs</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../core/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Extensions Catalog</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../extensions/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Incubator Catalog</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../incubator/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">JDO/DataNucleus</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../pjdo/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Legacy Catalog</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../legacy/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component is-current">
      <span class="title">Reference Guide</span>
      <ul class="versions">
        <li class="version is-current is-latest">
          <a href="../about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Release Notes</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../relnotes/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Restful Objects Viewer</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../vro/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Security Guide</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../security/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Setup Guide</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../setupguide/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Subdomains Catalog</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../subdomains/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Testing Guide</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../testing/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">User Guide</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../userguide/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Value Types Catalog</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../valuetypes/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
    <li class="component">
      <span class="title">Wicket Viewer</span>
      <ul class="versions">
        <li class="version is-latest">
          <a href="../../../vw/2.0.0-M3/about.html">2.0.0-M3</a>
        </li>
      </ul>
    </li>
  </ul>
</div>
    </div>
  </aside>
</div>
<main role="main">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
  <a href="../../../docs/2.0.0-M3/about.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
  <ul>
    <li><a href="../about.html">Reference Guide</a></li>
    <li><a href="about.html">Annotations</a></li>
    <li><a href="Column.html">Column</a></li>
  </ul>
</nav>
  <div class="edit-this-page"><a href="https://github.com/apache/isis/edit/2.0.0-M3/api/applib/src/main/adoc/modules/applib-ant/pages/Column.adoc">Edit</a></div>
</div>
<article class="doc">
    <a name="section-top"></a>
<h1 class="page"><code>@Column</code> (<code>javax.jdo</code>)</h1>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>The JDO <code>@javax.jdo.annotation.Column</code> provides metadata describing how JDO/DataNucleus should persist the property to a database RDBMS table column (or equivalent concept for other persistence stores).</p>
</div>
<div class="paragraph">
<p>Apache Isis also parses and interprets this annotation in order to build up aspects of its metamodel.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>Apache Isis parses the <code>@Column</code> annotation from the Java source code; it does not query the JDO metamodel.
This means that it the <code>@Column</code> annotation must be used rather than the equivalent <code>&lt;column&gt;</code> <a href="http://www.datanucleus.org/products/accessplatform_4_0/jdo/orm/schema_mapping.html">XML metadata</a>.</p>
</div>
<div class="paragraph">
<p>Moreover, while JDO/DataNucleus will recognize annotations on either the field or the getter method, Apache Isis (currently) only inspects the getter method.
Therefore ensure that the annotation is placed there.</p>
</div>
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>This section identifies which attributes of <code>@Column</code> are recognized and used by Apache Isis.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="nullability"><a class="anchor" href="#nullability"></a>Nullability</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The <code>allowsNull</code> attribute is used to specify if a property is mandatory or is optional.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public class Customer {
    @javax.jdo.annotations.Column(allowsNull="true")
    public String getMiddleInitial() { /* ... */ }
    public void setMiddleInitial(String middleInitial) { /* ... */ }</code></pre>
</div>
</div>
<div class="paragraph">
<p>Isis also provides <a href="Property.html#optionality" class="page"><code>@Property#optionality</code></a> attribute.
If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.</p>
</div>
<div class="paragraph">
<p>You should also be aware that in the lack of either the <code>@Column#allowsNull</code> or the <code>@Property#optionality</code> attributes, that the JDO and Apache Isis defaults differ.
Apache Isis rule is straight-forward: properties are assumed to be required.
JDO on the other hand specifies that only primitive types are mandatory; everything else is assumed to be optional.
Therefore a lack of either annotation can also trigger the fail-fast validation check.</p>
</div>
<div class="paragraph">
<p>In the vast majority of cases you should be fine just to add the <code>@Column#allowsNull</code> attribute to the getter.
But see the documentation for <a href="Property.html#optionality" class="page"><code>@Property#optionality</code></a> attribute for discussion on one or two minor edge cases.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="length-for-strings"><a class="anchor" href="#length-for-strings"></a>Length for <code>String</code>s</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The <code>length</code> attribute is used to specify the length of <code>java.lang.String</code> property types as they map to <code>varchar(n)</code> columns.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public class Customer {
    @javax.jdo.annotations.Column(length=20)
    public String getFirstName() { /* ... */ }
    public void setFirstName(String firstName) { /* ... */ }
    @javax.jdo.annotations.Column(allowsNull="true", length=1)
    public String getMiddleInitial() { /* ... */ }
    public void setMiddleInitial(String middleInitial) { /* ... */ }
    @javax.jdo.annotations.Column(length=30)
    public String getLastName() { /* ... */ }
    public void setLastName(String lastName) { /* ... */ }</code></pre>
</div>
</div>
<div class="paragraph">
<p>Apache Isis also provides <a href="Property.html#maxLength" class="page"><code>@Property#maxLength</code></a> attribute.
If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="lengthscale-for-bigdecimals"><a class="anchor" href="#lengthscale-for-bigdecimals"></a>Length/scale for <code>BigDecimal</code>s</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The <code>length()</code> and <code>scale</code> attributes are used to infer the precision/scale of <code>java.math.BigDecimal</code> property types as they map to <code>decimal(n,p)</code> columns.</p>
</div>
<div class="paragraph">
<p>For example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public class Customer {
    @javax.jdo.annotations.Column(length=10, scale=2)
    public BigDecimal getTotalOrdersToDate() { /* ... */ }
    public void setTotalOrdersToDate(BigDecimal totalOrdersToDate) { /* ... */ }</code></pre>
</div>
</div>
<div class="paragraph">
<p>For <code>BigDecimal</code>s it is also possible to specify the <a href="Digits.html" class="page"><code>@Digits</code></a> annotation, whose form is <code>@Digits(integer, fraction)</code>.
There is a subtle difference here: while <code>@Column#scale()</code> corresponds to <code>@Digits#fraction()</code>, the value of <code>@Column#length()</code> (ie the precision) is actually the <em>sum</em> of the <code>@Digits&#8217; `integer()</code> and <code>fraction()</code> parts.</p>
</div>
<div class="paragraph">
<p>If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="rg-ant-hints-and-tips"><a class="anchor" href="#rg-ant-hints-and-tips"></a>Hints and Tips</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This seems to be a good place to describe some additional common mappings that use <code>@Column</code>.
Unlike the sections above, the attributes specified in these hints and tips aren&#8217;t actually part of Apache Isis metamodel.</p>
</div>
<div class="sect2">
<h3 id="mapping-foreign-keys"><a class="anchor" href="#mapping-foreign-keys"></a>Mapping foreign keys</h3>
<div class="paragraph">
<p>The <code>name</code> attribute can be used to override the name of the column.
References to other objects are generally mapped as foreign key columns.
If there are multiple references to a given type, then you will want to override the name that JDO/DataNucleus would otherwise default.</p>
</div>
<div class="paragraph">
<p>For example (taken from <a href="http://github.com/estatio/estatio">estatio</a> app):</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public class PartyRelationship {
    @Column(name = "fromPartyId", allowsNull = "false")
    public Party getFrom() { /* ... */ }
    public void setFrom(Party from) { /* ... */ }
    @Column(name = "toPartyId", allowsNull = "false")
    public Party getTo() { /* ... */ }
    public void setTo(Party to) { /* ... */ }
    ...
}</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="mapping-blobs-and-clobs"><a class="anchor" href="#mapping-blobs-and-clobs"></a>Mapping <code>Blob</code>s and <code>Clob</code>s</h3>
<div class="paragraph">
<p>Isis provides custom value types for <a href="#applib-classes:classes/value-types.adoc#Blob" class="page unresolved"><code>Blob</code></a>s and <a href="#applib-classes:classes/value-types.adoc#Clob" class="page unresolved"><code>Clob</code></a>s.
These value types have multiple internal fields, meaning that they corresponding to multiple columns in the database.
Mapping this correctly requires using  <code>@Column</code> within JDO&#8217;s <code>@Persistent</code> annotation.</p>
</div>
<div class="paragraph">
<p>For example, here&#8217;s how to map a <code>Blob</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">private Blob attachment;
@javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
        @javax.jdo.annotations.Column(name = "attachment_name"),
        @javax.jdo.annotations.Column(name = "attachment_mimetype"),
        @javax.jdo.annotations.Column(name = "attachment_bytes", jdbcType = "BLOB", sqlType = "LONGVARBINARY")
})
@Property(
        domainEvent = AttachmentDomainEvent.class,
        optionality = Optionality.OPTIONAL
)
public Blob getAttachment() { /* ... */ }
public void setAttachment(Blob attachment) { /* ... */ }</code></pre>
</div>
</div>
<div class="paragraph">
<p>And here&#8217;s how to map a <code>Clob</code> (also taken from the todoapp):</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">private Clob doc;
@javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
        @javax.jdo.annotations.Column(name = "doc_name"),
        @javax.jdo.annotations.Column(name = "doc_mimetype"),
        @javax.jdo.annotations.Column(name = "doc_chars", jdbcType = "CLOB", sqlType = "LONGVARCHAR")
})
@Property(
        optionality = Optionality.OPTIONAL
)
public Clob getDoc() { /* ... */ }
public void setDoc(final Clob doc) { /* ... */ }</code></pre>
</div>
</div>
</div>
</div>
</div>
</article>
<aside class="article-aside toc hide-for-print" role="navigation">
    <p class="toc-title">On this page</p>
    <div id="article-toc"></div>
</aside>
</main>
</div>
<footer class="footer">
    <div class="content">
        <div class="copyright">
            <p>
                Copyright © 2010~2020 The Apache Software Foundation, licensed under the Apache License, v2.0.
                <br/>
                Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
            </p>
        </div>
        <div class="revision">
            <p>Revision: SNAPSHOT</p>
        </div>
    </div>
</footer>
<script src="../../../_/js/site.js"></script>
<script async src="../../../_/js/vendor/highlight.js"></script>
<script src="../../../_/js/vendor/jquery-3.4.1.min.js"></script>
<script src="../../../_/js/vendor/jquery-ui-1.12.1.custom.widget-only.min.js"></script>
<script src="../../../_/js/vendor/jquery.tocify.min.js"></script>

<script>
    $(function() {
        $("#article-toc").tocify( {
            showEffect: "slideDown",
            hashGenerator: "pretty",
            hideEffect: "slideUp",
            selectors: "h2, h3",
            scrollTo: 120,
            smoothScroll: true,
            theme: "jqueryui",
            highlightOnScroll: true
        } );
    });
</script>

<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
<script>
  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
  var search = docsearch({
    appId: '5ISP5TFAEN',
    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
    indexName: 'isis-apache-org',
    inputSelector: '#algolia-search-input',
    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
    debug: false,
  }).autocomplete
  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  focusSearchInput()
  window.addEventListener('load', focusSearchInput);
</script>

<!--
  docsearch options:
  https://docsearch.algolia.com/docs/behavior/
-->
<!--
  https://www.algolia.com/doc/api-reference/api-parameters/
  algoliaOptions: { hitsPerPage: 6 },
-->
  </body>
</html>
